#ifndef MQMESSAGEHANDLER_H
#define MQMESSAGEHANDLER_H

#include <QString>
#include <QByteArray>

/**
 * @brief 消息处理接口
 * 
 * 定义消息处理的抽象接口，遵循单一职责原则
 * 支持多态，允许不同的消息处理实现
 */
class MQMessageHandler
{
public:
    /**
     * @brief 虚析构函数
     */
    virtual ~MQMessageHandler() = default;
    
    /**
     * @brief 处理接收到的消息
     * @param exchange 交换机名称
     * @param routingKey 路由键
     * @param data 消息数据
     * @return 处理是否成功
     */
    virtual bool handleMessage(const QString& exchange, 
                              const QString& routingKey, 
                              const QByteArray& data) = 0;
    
    /**
     * @brief 获取处理器名称
     * @return 处理器名称
     */
    virtual QString getHandlerName() const = 0;
};

#endif // MQMESSAGEHANDLER_H
